#pragma once

#include <string>
using namespace std;

#include "Subject.h"
#include "Fish.h"

class Aquarium;

class Aquarium : public Subject {
public:
	void feed();
	void empty();
	void pausePlay();
	void debug();
	virtual bool addFish(const string& fishType);
	virtual bool removeFish(const string& fishType);
	
	static Aquarium* getAquarium();
	
protected:
	Aquarium();
	virtual ~Aquarium() {};
	Aquarium(const Aquarium&);
	virtual const Aquarium& operator=(const Aquarium&);

private:
	vector<Fish *> fishes;

	static Aquarium *aquarium;
};